1. Technical Field
The present invention relates to software rejuvenation, and more particularly to a system and method for triggering software rejuvenation using a customer affecting performance metric.
2. Discussion of Related Art
In a large industrial software system extensive monitoring and management is needed to deliver expected performance and reliability. Some specific types of software failures, called soft failures, have been shown to leave the system in a degraded mode, where the system is still operational, but the available system capacity has been reduced.
Soft failures can be caused by the evolution of the state of one or more software data structures during (possibly) prolonged execution. This evolution is called software aging. Software aging has been observed in widely used software.
Soft bugs may occur as a result of problems with synchronization mechanisms, e.g., semaphores; kernel structures, e.g., file table allocations; database management systems, e.g., database lock deadlocks; and other resource allocation mechanisms that are essential to the proper operation of large multi-layer distributed systems. Since some of these resources are designed with self-healing mechanisms, e.g., timeouts, some systems may recover from soft bugs after a period of time.
The current mode of operation employs server based monitoring tools to provide a server health check. This approach may create a gap between a user perception of performance and a monitoring tool view of performance.
Therefore, a need exists for a system and method for triggering software rejuvenation using a customer affecting performance metric.